package com.demo.model;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.Version;


/**
 * The persistent class for the urm_user database table.
 * 
 */
@Entity
@Table(name="URM_USER")
public class UrmUser implements Serializable, BaseEntity {
	private static final long serialVersionUID = 1L;

	@Id
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	private Long id;

	@Column(name="ACCOUNT_TYPE")
	private String accountType;

    @Temporal( TemporalType.DATE)
	@Column(name="BEGIN_WORK_DATE")
	private Date beginWorkDate;

    @Temporal( TemporalType.DATE)
	private Date birthday;

	@Column(name="CREATED_BY")
	private String createdBy;

    @Temporal( TemporalType.TIMESTAMP)
	@Column(name="CREATED_TIME")
	private Date createdTime;

	private boolean deleted;

	private String email;

	@Column(name="IDCARD_NO")
	private String idcardNo;

	private String imported;

	@Column(name="IS_SYNC")
	private byte isSync;

    @Temporal( TemporalType.DATE)
	@Column(name="JOIN_DATE")
	private Date joinDate;

	@Column(name="LOGIN_NAME")
	private String loginName;

    @Temporal( TemporalType.DATE)
	@Column(name="MIGRATE_ORG_START_DATE")
	private Date migrateOrgStartDate;
	
    @Temporal( TemporalType.DATE)
	@Column(name="MIGRATE_ORG_END_DATE")
	private Date migrateOrgEndDate;

	private String mobile;

	private String name;

	@Column(name="ORG_CODE")
	private String orgCode;

	private String phone;

	private String sex;

	@Column(name="SPELLING_NAME")
	private String spellingName;

	@Column(name="STAFF_NO")
	private String staffNo;

	private String status;

	@Column(name="UPDATE_TYPE")
	private String updateType;

	@Column(name="UPDATED_BY")
	private String updatedBy;

	@Column(name="STN")
	private String stn;

   // @Version
    @Temporal( TemporalType.TIMESTAMP)
	@Column(name="UPDATED_TIME")
	private Date updatedTime;

    public UrmUser() {
    }

	public Long getId() {
		return this.id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public String getAccountType() {
		return this.accountType;
	}

	public void setAccountType(String accountType) {
		this.accountType = accountType;
	}

	public Date getBeginWorkDate() {
		return this.beginWorkDate;
	}

	public void setBeginWorkDate(Date beginWorkDate) {
		this.beginWorkDate = beginWorkDate;
	}

	public Date getBirthday() {
		return this.birthday;
	}

	public void setBirthday(Date birthday) {
		this.birthday = birthday;
	}

	public String getCreatedBy() {
		return this.createdBy;
	}

	public void setCreatedBy(String createdBy) {
		this.createdBy = createdBy;
	}

	public Date getCreatedTime() {
		return this.createdTime;
	}

	public void setCreatedTime(Date createdTime) {
		this.createdTime = createdTime;
	}

	public boolean getDeleted() {
		return this.deleted;
	}

	public void setDeleted(boolean deleted) {
		this.deleted = deleted;
	}

	public String getEmail() {
		return this.email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public String getIdcardNo() {
		return this.idcardNo;
	}

	public void setIdcardNo(String idcardNo) {
		this.idcardNo = idcardNo;
	}

	public String getImported() {
		return this.imported;
	}

	public void setImported(String imported) {
		this.imported = imported;
	}

	public byte getIsSync() {
		return this.isSync;
	}

	public void setIsSync(byte isSync) {
		this.isSync = isSync;
	}

	public Date getJoinDate() {
		return this.joinDate;
	}

	public void setJoinDate(Date joinDate) {
		this.joinDate = joinDate;
	}

	public String getLoginName() {
		return this.loginName;
	}

	public void setLoginName(String loginName) {
		this.loginName = loginName;
	}

	public Date getMigrateOrgStartDate() {
        return migrateOrgStartDate;
    }

    public void setMigrateOrgStartDate(Date migrateOrgStartDate) {
        this.migrateOrgStartDate = migrateOrgStartDate;
    }

    public Date getMigrateOrgEndDate() {
        return migrateOrgEndDate;
    }

    public void setMigrateOrgEndDate(Date migrateOrgEndDate) {
        this.migrateOrgEndDate = migrateOrgEndDate;
    }

    public String getMobile() {
		return this.mobile;
	}

	public void setMobile(String mobile) {
		this.mobile = mobile;
	}

	public String getName() {
		return this.name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getOrgCode() {
		return this.orgCode;
	}

	public void setOrgCode(String orgCode) {
		this.orgCode = orgCode;
	}

	public String getPhone() {
		return this.phone;
	}

	public void setPhone(String phone) {
		this.phone = phone;
	}

	public String getSex() {
		return this.sex;
	}

	public void setSex(String sex) {
		this.sex = sex;
	}

	public String getSpellingName() {
		return this.spellingName;
	}

	public void setSpellingName(String spellingName) {
		this.spellingName = spellingName;
	}

	public String getStaffNo() {
		return this.staffNo;
	}

	public void setStaffNo(String staffNo) {
		this.staffNo = staffNo;
	}

	public String getStatus() {
		return this.status;
	}

	public void setStatus(String status) {
		this.status = status;
	}

	public String getUpdateType() {
		return this.updateType;
	}

	public void setUpdateType(String updateType) {
		this.updateType = updateType;
	}

	public String getUpdatedBy() {
		return this.updatedBy;
	}

	public void setUpdatedBy(String updatedBy) {
		this.updatedBy = updatedBy;
	}

	public Date getUpdatedTime() {
		return this.updatedTime;
	}

	public void setUpdatedTime(Date updatedTime) {
		this.updatedTime = updatedTime;
	}

	public String getStn() {
		return stn;
	}

	public void setStn(String stn) {
		this.stn = stn;
	}
	
}